// pages/myTicket/myTicket.js
var app = getApp()
var util = require('../../utils/util.js')
var host = app.globalData.host
var self = null
Page({
  /**
   * 页面的初始数据
   */
  data: {
    List: [],
    showQrcode: false,
    qrcode: '',
    themeColor: '',
    defaultColor: '',
    borderColor: ''
  },
  getStyle() {
    wx.setNavigationBarTitle({
      title: '我的票'
    })
    self.setData({
      themeColor: app.globalData.themeColor,
      defaultColor: app.globalData.defaultColor,
      borderColor: app.globalData.borderColor
    })
  },
  getList() {
    app.request({
      url: host + '/xhc/ticket/orders',
      data: {},
      success: function(res) {
        self.setData({
          List: res.data.info
        })
      },
      fail: function(msg) {
        console.warn(msg)
      }
    })
  },
  showCode(e) {
    if (e.currentTarget.dataset.isused == 1 || e.currentTarget.dataset.status != 1) {
      return;
    }
    console.log(e.currentTarget.dataset.qrcode)
    this.setData({
      showQrcode: true,
      qrcode: e.currentTarget.dataset.qrcode
    })
  },
  changeDialog() {
    this.setData({
      showQrcode: false,
    })
  },
  onShare(e) {
    var url = e.currentTarget.dataset.qrcode
    // console.log(url)
    wx.showLoading({
      title: '正在生成..',
    })
    wx.downloadFile({
      url: url, // 仅为示例，并非真实的资源
      complete() {
        wx.hideLoading();
      },
      fail(res) {
        console.log(res)
        wx.showModal({
          title: '提示',
          content: '图片生成失败',
          showCancel: false,
          success(res) {
            if (res.confirm) {
              // console.log('用户点击确定')
            } else if (res.cancel) {
              // console.log('用户点击取消')
            }
          }
        })
      },
      success(res) {
        // 只要服务器有响应数据，就会把响应内容写入文件并进入 success 回调，业务需要自行判断是否下载到了想要的内容
        if (res.statusCode === 200) {
          wx.saveImageToPhotosAlbum({
            filePath: res.tempFilePath,
            success(res) {
              console.log('save suc')
              // wx.showToast({
              //   title: '车票已存入相册',
              //   icon: 'success',
              //   duration: 2000
              // })
              wx.showModal({
                title: '提示',
                content: '车票已存入相册',
                showCancel: false,
                success(res) {
                  if (res.confirm) {
                    // console.log('用户点击确定')
                  } else if (res.cancel) {
                    // console.log('用户点击取消')
                  }
                }
              })
            },
            fail() {
              // console.log('save fail')
              // wx.showToast({
              //   title: '成功',
              //   icon: 'success',
              //   duration: 2000
              // })
              wx.showModal({
                title: '提示',
                content: '车票保存失败',
                showCancel: false,
                success(res) {
                  if (res.confirm) {
                    // console.log('用户点击确定')
                  } else if (res.cancel) {
                    // console.log('用户点击取消')
                  }
                }
              })
            }
          })
        }
      }
    })
  },
  refund(e) {
    wx.showModal({
      title: '提示',
      content: '是否退票?',
      success: function(res) {
        if (res.confirm) {
          wx.showLoading({
            title: '退票中',
          })
          app.request({
            url: host + '/xhc/ticket/refund',
            data: {
              id: e.currentTarget.dataset.id
            },
            success: function(res) {
              wx.hideLoading()
              var status = res.data.status
              if (status == 500) {
                wx.showToast({
                  title: '退票失败',
                  icon: 'none',
                  duration: 2000
                })
              }
              if (status == 204) {
                util.showModel(res.data.msg)
              }
              if (status == 200) {
                wx.showToast({
                  title: '退票成功',
                  icon: 'success',
                  duration: 2000
                })
                self.getList()
              }
            },
            fail: function(msg) {
              util.showModel('退票失败')
            }
          })

        } else if (res.cancel) {
          console.log('用户点击取消')
        }

      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    self = this
    self.getStyle()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    self.getList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})